<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  <html xmlns="http://www.w3.org/1999/xhtml">
		<head>
			<!-- template designed by Marco Von Ballmoos -->
			<title>File Source for extendsCheck.php</title>
			<link rel="stylesheet" href="../media/stylesheet.css" />
			<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>
		</head>
		<body>
						<h1>Source for file extendsCheck.php</h1>
<p>Documentation is available at <a href="../Dwoo/_plugins---builtin---functions---extendsCheck.php.html">extendsCheck.php</a></p>
<div class="src-code">
<div class="src-code"><ol><li><div class="src-line"><a name="a1"></a><span class="src-php">&lt;?php</span></div></li>
<li><div class="src-line"><a name="a2"></a>&nbsp;</div></li>
<li><div class="src-line"><a name="a3"></a><span class="src-doc">/**</span></div></li>
<li><div class="src-line"><a name="a4"></a><span class="src-doc">&nbsp;*&nbsp;Checks&nbsp;whether&nbsp;an&nbsp;extended&nbsp;file&nbsp;has&nbsp;been&nbsp;modified,&nbsp;and&nbsp;if&nbsp;so&nbsp;recompiles&nbsp;the&nbsp;current&nbsp;template.&nbsp;This&nbsp;is&nbsp;for&nbsp;internal&nbsp;use&nbsp;only,&nbsp;do&nbsp;not&nbsp;use.</span></div></li>
<li><div class="src-line"><a name="a5"></a><span class="src-doc">&nbsp;*</span></div></li>
<li><div class="src-line"><a name="a6"></a><span class="src-doc">&nbsp;*&nbsp;This&nbsp;software&nbsp;is&nbsp;provided&nbsp;'as-is',&nbsp;without&nbsp;any&nbsp;express&nbsp;or&nbsp;implied&nbsp;warranty.</span></div></li>
<li><div class="src-line"><a name="a7"></a><span class="src-doc">&nbsp;*&nbsp;In&nbsp;no&nbsp;event&nbsp;will&nbsp;the&nbsp;authors&nbsp;be&nbsp;held&nbsp;liable&nbsp;for&nbsp;any&nbsp;damages&nbsp;arising&nbsp;from&nbsp;the&nbsp;use&nbsp;of&nbsp;this&nbsp;software.</span></div></li>
<li><div class="src-line"><a name="a8"></a><span class="src-doc">&nbsp;*</span></div></li>
<li><div class="src-line"><a name="a9"></a><span class="src-doc">&nbsp;*&nbsp;</span><span class="src-doc-coretag">@author</span><span class="src-doc">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Jordi&nbsp;Boggiano&nbsp;&lt;j.boggiano@seld.be&gt;</span></div></li>
<li><div class="src-line"><a name="a10"></a><span class="src-doc">&nbsp;*&nbsp;</span><span class="src-doc-coretag">@copyright</span><span class="src-doc">&nbsp;&nbsp;Copyright&nbsp;(c)&nbsp;2008,&nbsp;Jordi&nbsp;Boggiano</span></div></li>
<li><div class="src-line"><a name="a11"></a><span class="src-doc">&nbsp;*&nbsp;</span><span class="src-doc-coretag">@license</span><span class="src-doc">&nbsp;&nbsp;&nbsp;&nbsp;http://dwoo.org/LICENSE&nbsp;&nbsp;&nbsp;Modified&nbsp;BSD&nbsp;License</span></div></li>
<li><div class="src-line"><a name="a12"></a><span class="src-doc">&nbsp;*&nbsp;</span><span class="src-doc-coretag">@link</span><span class="src-doc">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;http://dwoo.org/</span></div></li>
<li><div class="src-line"><a name="a13"></a><span class="src-doc">&nbsp;*&nbsp;</span><span class="src-doc-coretag">@version</span><span class="src-doc">&nbsp;&nbsp;&nbsp;&nbsp;1.1.0</span></div></li>
<li><div class="src-line"><a name="a14"></a><span class="src-doc">&nbsp;*&nbsp;</span><span class="src-doc-tag">@date</span><span class="src-doc">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2009-07-18</span></div></li>
<li><div class="src-line"><a name="a15"></a><span class="src-doc">&nbsp;*&nbsp;</span><span class="src-doc-coretag">@package</span><span class="src-doc">&nbsp;&nbsp;&nbsp;&nbsp;Dwoo</span></div></li>
<li><div class="src-line"><a name="a16"></a><span class="src-doc">&nbsp;*/</span></div></li>
<li><div class="src-line"><a name="a17"></a><span class="src-key">function&nbsp;</span><a href="../Dwoo/_plugins---builtin---functions---extendsCheck.php.html#functionDwoo_Plugin_extendsCheck_compile">Dwoo_Plugin_extendsCheck_compile</a><span class="src-sym">(</span><span class="src-id">Dwoo_Compiler&nbsp;</span><span class="src-var">$compiler</span><span class="src-sym">,&nbsp;</span><span class="src-var">$file</span><span class="src-sym">)</span></div></li>
<li><div class="src-line"><a name="a18"></a><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a19"></a>&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'#^[&quot;\']([a-z]{2,}):(.*?)[&quot;\']$#i'</span><span class="src-sym">,&nbsp;</span><span class="src-var">$file</span><span class="src-sym">,&nbsp;</span><span class="src-var">$m</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a20"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$resource&nbsp;</span>=&nbsp;<span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a21"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$identifier&nbsp;</span>=&nbsp;<span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a22"></a>&nbsp;</div></li>
<li><div class="src-line"><a name="a23"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$tpl&nbsp;</span>=&nbsp;<span class="src-var">$compiler</span><span class="src-sym">-&gt;</span><span class="src-id">getDwoo</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-&gt;</span><span class="src-id">templateFactory</span><span class="src-sym">(</span><span class="src-var">$resource</span><span class="src-sym">,&nbsp;</span><span class="src-var">$identifier</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a24"></a>&nbsp;</div></li>
<li><div class="src-line"><a name="a25"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-key">if&nbsp;</span><span class="src-sym">(</span><span class="src-var">$tpl&nbsp;</span>===&nbsp;<span class="src-id">null</span><span class="src-sym">)&nbsp;</span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a26"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw&nbsp;<span class="src-key">new&nbsp;</span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$compiler</span><span class="src-sym">,&nbsp;</span><span class="src-str">'Load&nbsp;Templates&nbsp;:&nbsp;Resource&nbsp;&quot;'</span>.<span class="src-var">$resource</span>.<span class="src-str">':'</span>.<span class="src-var">$identifier</span>.<span class="src-str">'&quot;&nbsp;not&nbsp;found.'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a27"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-sym">}&nbsp;</span><span class="src-key">elseif&nbsp;</span><span class="src-sym">(</span><span class="src-var">$tpl&nbsp;</span>===&nbsp;<span class="src-id">false</span><span class="src-sym">)&nbsp;</span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a28"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;throw&nbsp;<span class="src-key">new&nbsp;</span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$compiler</span><span class="src-sym">,&nbsp;</span><span class="src-str">'Load&nbsp;Templates&nbsp;:&nbsp;Resource&nbsp;&quot;'</span>.<span class="src-var">$resource</span>.<span class="src-str">'&quot;&nbsp;does&nbsp;not&nbsp;support&nbsp;includes.'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a29"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a30"></a>&nbsp;</div></li>
<li><div class="src-line"><a name="a31"></a>&nbsp;</div></li>
<li><div class="src-line"><a name="a32"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$out&nbsp;</span>=&nbsp;<span class="src-str">'\'\';//&nbsp;checking&nbsp;for&nbsp;modification&nbsp;in&nbsp;'</span>.<span class="src-var">$resource</span>.<span class="src-str">':'</span>.<span class="src-var">$identifier</span>.<span class="src-str">&quot;\r\n&quot;</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a33"></a>&nbsp;&nbsp;&nbsp;&nbsp;</div></li>
<li><div class="src-line"><a name="a34"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$modCheck&nbsp;</span>=&nbsp;<span class="src-var">$tpl</span><span class="src-sym">-&gt;</span><span class="src-id">getIsModifiedCode</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a35"></a>&nbsp;&nbsp;&nbsp;&nbsp;</div></li>
<li><div class="src-line"><a name="a36"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-key">if&nbsp;</span><span class="src-sym">(</span><span class="src-var">$modCheck</span><span class="src-sym">)&nbsp;</span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a37"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$out&nbsp;</span>.=&nbsp;<span class="src-str">'if&nbsp;(!('</span>.<span class="src-var">$modCheck</span>.<span class="src-str">'))&nbsp;{&nbsp;ob_end_clean();&nbsp;return&nbsp;false;&nbsp;}'</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a38"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-sym">}&nbsp;</span><span class="src-key">else&nbsp;</span><span class="src-sym">{</span></div></li>
<li><div class="src-line"><a name="a39"></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-var">$out&nbsp;</span>.=&nbsp;<span class="src-str">'try&nbsp;{</span></div></li>
<li><div class="src-line"><a name="a40"></a><span class="src-str">&nbsp;&nbsp;&nbsp;&nbsp;$tpl&nbsp;=&nbsp;$this-&gt;templateFactory(&quot;'</span>.<span class="src-var">$resource</span>.<span class="src-str">'&quot;,&nbsp;&quot;'</span>.<span class="src-var">$identifier</span>.<span class="src-str">'&quot;);</span></div></li>
<li><div class="src-line"><a name="a41"></a><span class="src-str">}&nbsp;catch&nbsp;(Dwoo_Exception&nbsp;$e)&nbsp;{</span></div></li>
<li><div class="src-line"><a name="a42"></a><span class="src-str">&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;triggerError(\'Load&nbsp;Templates&nbsp;:&nbsp;Resource&nbsp;&lt;em&gt;'</span>.<span class="src-var">$resource</span>.<span class="src-str">'&lt;/em&gt;&nbsp;was&nbsp;not&nbsp;added&nbsp;to&nbsp;Dwoo,&nbsp;can&nbsp;not&nbsp;extend&nbsp;&lt;em&gt;'</span>.<span class="src-var">$identifier</span>.<span class="src-str">'&lt;/em&gt;\',&nbsp;E_USER_WARNING);</span></div></li>
<li><div class="src-line"><a name="a43"></a><span class="src-str">}</span></div></li>
<li><div class="src-line"><a name="a44"></a><span class="src-str">if&nbsp;($tpl&nbsp;===&nbsp;null)</span></div></li>
<li><div class="src-line"><a name="a45"></a><span class="src-str">&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;triggerError(\'Load&nbsp;Templates&nbsp;:&nbsp;Resource&nbsp;&quot;'</span>.<span class="src-var">$resource</span>.<span class="src-str">':'</span>.<span class="src-var">$identifier</span>.<span class="src-str">'&quot;&nbsp;was&nbsp;not&nbsp;found.\',&nbsp;E_USER_WARNING);</span></div></li>
<li><div class="src-line"><a name="a46"></a><span class="src-str">elseif&nbsp;($tpl&nbsp;===&nbsp;false)</span></div></li>
<li><div class="src-line"><a name="a47"></a><span class="src-str">&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;triggerError(\'Load&nbsp;Templates&nbsp;:&nbsp;Resource&nbsp;&quot;'</span>.<span class="src-var">$resource</span>.<span class="src-str">'&quot;&nbsp;does&nbsp;not&nbsp;support&nbsp;extends.\',&nbsp;E_USER_WARNING);</span></div></li>
<li><div class="src-line"><a name="a48"></a><span class="src-str">if&nbsp;($tpl-&gt;getUid()&nbsp;!=&nbsp;&quot;'</span>.<span class="src-var">$tpl</span><span class="src-sym">-&gt;</span><span class="src-id">getUid</span><span class="src-sym">(</span><span class="src-sym">)</span>.<span class="src-str">'&quot;)&nbsp;{&nbsp;ob_end_clean();&nbsp;return&nbsp;false;&nbsp;}'</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a49"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-sym">}</span></div></li>
<li><div class="src-line"><a name="a50"></a>&nbsp;&nbsp;&nbsp;&nbsp;</div></li>
<li><div class="src-line"><a name="a51"></a>&nbsp;&nbsp;&nbsp;&nbsp;<span class="src-key">return&nbsp;</span><span class="src-var">$out</span><span class="src-sym">;</span></div></li>
<li><div class="src-line"><a name="a52"></a><span class="src-sym">}</span></div></li>
</ol></div>
</div>
	<p class="notes" id="credit">
		Documentation generated on Sun, 07 Feb 2010 17:53:43 +0000 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.0</a>
	</p>
	</body>
</html>